package service;

import com.github.pagehelper.PageInfo;
import entity.Course;
import entity.CourseType;
import exception.ServiceException;
import vo.CourseVo;

import java.util.List;
import java.util.Map;

public interface CourseService {
    //查询所有课程
    PageInfo<Course> findAllCourse(CourseVo courseVo);

    //启用禁用课程的
    void changeToggleStatus(Integer id, Integer status);

    //修改课程前的查询
    PageInfo<Course> findAllCourseB4Modify(Integer id);

    //添加课程的
    void addCourse(Course c);

    //修改课程的
    void modifyCourse(Course c);

    //加载当前课程所在类别下点击量前三多的课程
    List<Course> loadRecCourse(Integer courseid);

    List<Course> findTop15();

    PageInfo<Course> findCourseByCourseTypeId(Integer pageNo, Integer course_type_id, Map<Integer, List<CourseType>> direction);

    List<CourseVo> findAllTop4(List<CourseType> courseTypes) throws ServiceException;

    List<Course> findAllCourseForFront() throws ServiceException;

    int queryNum(String courseName, String courseTypeId);

    List<Course> selectTop3ById(int id) throws ServiceException;
}
